package it.univaq;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;

/**
 * 
 * @author danielik86
 *
 */
public class Util {
	/**
	 * Il metodo legge le richieste memorizzate nel file 
	 * <code>richieste.txt</code> e restituisce una lista 
	 * di stringhe contenti le richieste.
	 * 
	 * @return elenco - elenco delle richieste
	 */
	public static Collection<String> letturaRichieste() {
		//Apertura del file delle richieste
		BufferedReader reader = null;
		try {
			reader = new BufferedReader(new FileReader("./richieste.txt"));
		} catch (FileNotFoundException e) {
			System.err.println("!-> File delle richieste non trovato!");
			System.err.println("\n");
		}
		
		//Dichiarazione della lista delle richieste
		Collection<String> elenco = new ArrayList<String>(0);
		
		//Lettura delle richieste
		int contatore = 0;
		if(reader!= null) {
			String linea = "";
			try {
				while ((linea = reader.readLine()) != null) {
					char c = linea.charAt(0);
					if(c=='#'){
						//La line è un commento, la si ignora
						;
					} else if(c=='\n' || c==' '){
						;
					}else {
						//La linea contiene una richiesta, ciene aggiunta nell'elenco
						elenco.add(linea);
						contatore ++;
					}
				}
			} catch (IOException e) {
				System.err.println("!-> Errore di I/O nella lettura del file delle richieste.");
				System.err.println("\n");
			}
		}
	
		System.out.println("--> Lettura delle richieste effettuata.");
		System.out.println("--> Rilevate " + contatore + " richieste.");
		return elenco;
	}
	
	/**
	 * Il metodo mette in pausa il programma per un certo numero di secondi.<br />
	 * La quantità dei secondi vengono passati per mezzo del parametro <code>sec</code>.
	 * 
	 * @param sec - numero di secondi in cui il sistema deve rimanere in pausa
	 */
	public static void pausaSistema(int sec) {
		//Conversione dei secondi in millisecondi
		sec *= 1000;
		
		//Mette in pausa il sistema
		try {
			Thread.sleep(sec);
		} catch (InterruptedException e) {
			System.err.println("!-> Errore di Interrupt");
			System.err.println("\n");
		}
	}
}
